const path = require('path')
const Koa = require('koa'); // 引入koa框架依赖
const KoaBody = require('koa-body'); // 引入中间件
const parameter = require('koa-parameter')
const errHandler = require('./errHandler')

const router = require('../router/index')
const app = new Koa(); //进行使用koa框架

app.use(KoaBody({
    multipart: true,
    formidable: {
        // 在配置选项 option里,不推荐使用相对路径
        // 在option里的相对路径,不是相对当前文件,相对process.cwd()
        uploadDir: path.join(__dirname, "../upload"),
        keepExtensions: true,
    },
    parsedMethods: ['POST', 'PUT', 'PATCH', "DELETE"]

}));// 解析请求的主体
app.use(parameter(app))
app.use(router.routes()); //引入中间件
app.use(router.allowedMethods()); // 




// console.log(process.cwd()); // 返回调用文件的路径
//统一的错误处理
app.on('error', errHandler)

module.exports = app